#ifndef __FACE
#define __FACE
#include <vector>
#include "sommet.hpp"
#include <iostream>

class Sommet;
class Face
{
	private:
		std::vector<Sommet*> sommets;
		std::vector<Face*> faces;
		std::vector<int> couleur;
	
	public:
		Face(){};
		Face(Sommet* a, Sommet* b, Sommet* c);
		~Face(){};
		std::vector<Sommet*> getSommets() const;
		Sommet* getSommet(int index) const;
		void setCouleur(int r, int g, int b);
		std::vector<int> getCouleur() const;
		std::vector<Face*> getFaces();
		Face* getFace(int index);
		void setFace(Face* f,int i);
		//retourne l'index du sommet dans la face
		int getIndex(Sommet& s);
		bool operator==(const Face& s) const;
		friend std::ostream& operator<<(std::ostream& out, const Face& b);
};

#endif
